struct VS_INPUT
{
	float3 untransformed_pos	: POSITION0;
	float2 uv					: TEXCOORD0;
};

struct VS_OUTPUT
{
	float4 transformed_pos	: POSITION0;
	float2 uv				: TEXCOORD0;
};

texture diffuseMap;
sampler diffuseSampler = 
sampler_state
{
	Texture = <diffuseMap>;
	MinFilter = ANISOTROPIC;
	MagFilter = LINEAR;
	MipFilter = LINEAR;

	AddressU = WRAP;
	AddressV = WRAP;
};

VS_OUTPUT mainVS( VS_INPUT input )
{
	VS_OUTPUT output = (VS_OUTPUT)0;
	
	output.transformed_pos = float4(input.untransformed_pos,1.0f);
	output.uv = input.uv;
	
	return output;
}

float4 mainPS( VS_OUTPUT input ) : COLOR 
{
	float4 fColor = tex2D( diffuseSampler, input.uv );
	return fColor;//float4(1, 0, 0, 1);
}

technique main 
{
	pass p0 
	{
		CullMode = None;
		AlphaBlendEnable = false;
		VertexShader = compile vs_3_0 mainVS();
		PixelShader = compile ps_3_0 mainPS();
	}
}